package net.wds.ssbus.modules.ssbus.service.impl;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import net.wds.ssbus.modules.dict.entity.TbBaseDictitemEntity;
import net.wds.ssbus.modules.ssbus.mapper.TbSsbusChannelMapper;
import net.wds.ssbus.modules.ssbus.pojo.TbSsbusChannelEntrty;
import net.wds.ssbus.modules.ssbus.service.TbSsbusChannelService;

import net.wds.ssbus.modules.sys.controller.AbstractController;
import net.wds.ssbus.modules.sys.entity.SysUserEntity;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import java.util.Date;
import java.util.List;

@Service
public class TbSsbusChannelServiceImp extends AbstractController implements TbSsbusChannelService {

    @Resource
    private TbSsbusChannelMapper tbSsbusChannelMapper;

    @Override
    public IPage<TbSsbusChannelEntrty> list(int pageNo, int pageSize,String key,String queryType) {
        Page<TbSsbusChannelEntrty> page = new Page(pageNo,pageSize);
        IPage<TbSsbusChannelEntrty> list =tbSsbusChannelMapper.list(page,key,queryType);
        for(TbSsbusChannelEntrty a:list.getRecords()){
            String code =tbSsbusChannelMapper.dbtypeString(a.getType());
            System.out.println(code);
            a.setTypeString(code);
        }
        return list;
    }

    @Override
    public void deletes(Long[] id) {
        tbSsbusChannelMapper.deletes(id);
    }

    @Override
    public  List<TbBaseDictitemEntity> dbtype() {
        return tbSsbusChannelMapper.dbtype();
    }

    @Override
    public  List<TbBaseDictitemEntity> active() {
        return tbSsbusChannelMapper.active();
    }

    @Override
    public void saveOrupdate(TbSsbusChannelEntrty tbSsbusChannelEntrty) {
        SysUserEntity u=getUser();
        if(tbSsbusChannelEntrty.getId()!=null){
            tbSsbusChannelEntrty.setAddUser(u.getUsername());
            tbSsbusChannelEntrty.setEditTime(new Date());
            if(tbSsbusChannelEntrty.getActive()==null){
                tbSsbusChannelEntrty.setActive(0);
            }
            tbSsbusChannelMapper.update(tbSsbusChannelEntrty);
        }
        else{
            tbSsbusChannelEntrty.setEditUser(u.getUsername());
            tbSsbusChannelEntrty.setAddTime(new Date());
            if(tbSsbusChannelEntrty.getActive()==null){
                tbSsbusChannelEntrty.setActive(0);
            }
            tbSsbusChannelMapper.save(tbSsbusChannelEntrty);
        }
    }

    @Override
    public void updateActive(Integer id, Integer active) {
        tbSsbusChannelMapper.updateActive(id, active);
    }

    @Override
    public List<TbSsbusChannelEntrty> getTbSsbusChannelList() {
        return tbSsbusChannelMapper.getTbSsbusChannelList();
    }

    @Override
    public TbSsbusChannelEntrty getById(Long id) {
        return tbSsbusChannelMapper.getById(id);
    }

    @Override
    public void removeById(Long id) {
        tbSsbusChannelMapper.delete(id);
    }
}
